It is often desirable to be able to factory program integrated circuits (ICs), i.e. introduce permanent changes into the ICs at the fab, for example, to create an ID tag or provide an encryption key. However, many ICs do not include non-volatile memory in which such permanent configurations could be stored. For example, high-density field programmable gate arrays (FPGAs) are typically produced using static random access memory (SRAM) technology, which provides a large degree of user flexibility but is not conducive to storing permanent device configuration data. And even when non-volatile memory is available, it can be useful to have available alternative means of programming that do not consume those non-volatile memory resources. Accordingly, it is desirable to provide a method for factory programming an IC without using nonvolatile memory.